package org.devocean.groupbuying.dao;

import java.util.List;

import org.devocean.groupbuying.domain.SerialKey;

public interface SerialKeyDAO {

	List<SerialKey> findAllSerialKeys();

	long countSerialKey();

	SerialKey findSerialKeyById(Integer id);

	void deleteSerialKey(int id);

	SerialKey saveSerialKey(SerialKey serialKey);

	SerialKey updateSerialKey(SerialKey serialKey);

	SerialKey findValidSerialKey(String SerialKeyID);

	List<SerialKey> findSerialKeyByCustomer(Integer customerID,Integer start,Integer limit);
	
	Long countSerialKeyByCustomer(Integer customerID);
	
	List<SerialKey> findSerialKeyByCustomerByExpireDate(Integer customerID,Integer start,Integer limit);
	
	Long countSerialKeyByCustomerByExpireDate(Integer customerID);
	
	List<SerialKey> findSerialKeyByCustomerByPurchaseDate(Integer customerID,Integer start,Integer limit);
	
	Long countSerialKeyByCustomerByPurchaseDate(Integer customerID);

}